module e203_nice_core_144k(
  input           clock,
  input           reset,
  output          io_system_active,
  output          io_system_holdup,
  output          io_req_ready,
  input           io_req_valid,
  input  [31:0]   io_req_bits_inst,
  input  [31:0]   io_req_bits_rs1,
  input  [31:0]   io_req_bits_rs2,
  input           io_rsp_ready,
  output          io_rsp_valid,
  output [31:0]   io_rsp_bits_rdat,
  output          io_rsp_bits_err,
  input           io_memreq_ready,
  output          io_memreq_valid,
  output [31:0]   io_memreq_bits_addr,
  output          io_memreq_bits_read,
  output [31:0]   io_memreq_bits_wdata,
  output [1:0]    io_memreq_bits_size,
  output          io_memrsp_ready,
  input           io_memrsp_valid,
  input  [31:0]   io_memrsp_bits_rdata,
  input           io_memrsp_bits_err,
  output [1151:0] io_k144_o_push_buf,
  output          io_k144_o_start,
  input  [511:0]  io_k144_i_result_buf,
  input           io_k144_i_result_done,
  output          io_k144_o_push_done,
  output          io_k144_o_save_done,
  output [15:0]   io_k144_o_row_index,
  output [15:0]   io_k144_o_col_index,
  output [10:0]   io_k144_o_row_length,
  output [10:0]   io_k144_o_col_length
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [31:0] _RAND_16;
  reg [31:0] _RAND_17;
  reg [31:0] _RAND_18;
  reg [31:0] _RAND_19;
  reg [31:0] _RAND_20;
  reg [31:0] _RAND_21;
  reg [31:0] _RAND_22;
  reg [31:0] _RAND_23;
  reg [31:0] _RAND_24;
  reg [31:0] _RAND_25;
  reg [31:0] _RAND_26;
  reg [31:0] _RAND_27;
  reg [31:0] _RAND_28;
  reg [31:0] _RAND_29;
  reg [31:0] _RAND_30;
  reg [31:0] _RAND_31;
  reg [31:0] _RAND_32;
  reg [31:0] _RAND_33;
  reg [31:0] _RAND_34;
  reg [31:0] _RAND_35;
  reg [31:0] _RAND_36;
  reg [31:0] _RAND_37;
  reg [31:0] _RAND_38;
  reg [31:0] _RAND_39;
  reg [31:0] _RAND_40;
  reg [31:0] _RAND_41;
  reg [31:0] _RAND_42;
  reg [31:0] _RAND_43;
  reg [31:0] _RAND_44;
  reg [31:0] _RAND_45;
  reg [31:0] _RAND_46;
  reg [31:0] _RAND_47;
  reg [31:0] _RAND_48;
`endif // RANDOMIZE_REG_INIT
  reg [2:0] state; // @[e203_nice_core_144k.scala 18:22]
  wire  isidle = state == 3'h0; // @[e203_nice_core_144k.scala 19:22]
  wire  ispush = state == 3'h1; // @[e203_nice_core_144k.scala 20:22]
  wire  ismvm = state == 3'h3; // @[e203_nice_core_144k.scala 21:22]
  wire  issave = state == 3'h2; // @[e203_nice_core_144k.scala 22:22]
  wire  config_done = state == 3'h4; // @[e203_nice_core_144k.scala 23:24]
  wire [6:0] opcode = io_req_valid ? io_req_bits_inst[6:0] : 7'h0; // @[e203_nice_core_144k.scala 25:23]
  wire [2:0] rv32_func3 = io_req_valid ? io_req_bits_inst[14:12] : 3'h0; // @[e203_nice_core_144k.scala 26:23]
  wire [6:0] rv32_func7 = io_req_valid ? io_req_bits_inst[31:25] : 7'h0; // @[e203_nice_core_144k.scala 27:23]
  wire  opcode_custom3 = opcode == 7'h7b; // @[e203_nice_core_144k.scala 28:31]
  wire  rv32_func3_011 = rv32_func3 == 3'h3; // @[e203_nice_core_144k.scala 31:35]
  wire  rv32_func7_0000001 = rv32_func7 == 7'h1; // @[e203_nice_core_144k.scala 32:39]
  wire  rv32_func7_0010001 = rv32_func7 == 7'h11; // @[e203_nice_core_144k.scala 33:39]
  wire  rv32_func7_0010010 = rv32_func7 == 7'h12; // @[e203_nice_core_144k.scala 34:39]
  wire  rv32_func7_0000010 = rv32_func7 == 7'h2; // @[e203_nice_core_144k.scala 35:39]
  wire  _T_3 = opcode_custom3 & rv32_func3_011; // @[e203_nice_core_144k.scala 36:37]
  wire  custom3_push = opcode_custom3 & rv32_func3_011 & rv32_func7_0010001 & isidle; // @[e203_nice_core_144k.scala 36:75]
  wire  custom3_save = _T_3 & rv32_func7_0010010 & isidle; // @[e203_nice_core_144k.scala 37:75]
  wire  custom3_mvm = _T_3 & rv32_func7_0000001 & isidle; // @[e203_nice_core_144k.scala 38:75]
  wire  custom3_config = _T_3 & rv32_func7_0000010 & isidle; // @[e203_nice_core_144k.scala 39:75]
  wire  _T_11 = 3'h0 == state; // @[Conditional.scala 37:30]
  wire [2:0] _T_12 = custom3_config ? 3'h4 : 3'h0; // @[e203_nice_core_144k.scala 46:27]
  wire  _T_16 = 3'h1 == state; // @[Conditional.scala 37:30]
  reg [6:0] push_cnt_r; // @[e203_nice_core_144k.scala 85:27]
  reg [7:0] transize; // @[e203_nice_core_144k.scala 77:25]
  wire [7:0] _GEN_44 = {{1'd0}, push_cnt_r}; // @[e203_nice_core_144k.scala 88:38]
  wire  push_done = ispush & _GEN_44 == transize; // @[e203_nice_core_144k.scala 88:23]
  wire  _T_18 = 3'h2 == state; // @[Conditional.scala 37:30]
  reg [6:0] save_cnt_r; // @[e203_nice_core_144k.scala 99:29]
  wire [6:0] _T_207 = issave ? save_cnt_r : 7'h0; // @[e203_nice_core_144k.scala 100:65]
  wire [6:0] save_cmd_cnt = custom3_save ? io_req_bits_rs2[18:12] : _T_207; // @[e203_nice_core_144k.scala 100:25]
  wire [7:0] _GEN_45 = {{1'd0}, save_cmd_cnt}; // @[e203_nice_core_144k.scala 101:30]
  wire  save_done = _GEN_45 == transize & issave; // @[e203_nice_core_144k.scala 101:44]
  wire  _T_20 = 3'h3 == state; // @[Conditional.scala 37:30]
  reg  cim_done_pos; // @[e203_nice_core_144k.scala 118:29]
  reg  cim_done_neg; // @[e203_nice_core_144k.scala 119:29]
  wire  cim_done = cim_done_pos & ~cim_done_neg; // @[e203_nice_core_144k.scala 120:31]
  wire  mvm_done = ismvm & cim_done; // @[e203_nice_core_144k.scala 137:21]
  wire [2:0] _T_21 = mvm_done ? 3'h0 : 3'h3; // @[e203_nice_core_144k.scala 49:28]
  wire  _T_25 = ispush | issave; // @[e203_nice_core_144k.scala 53:31]
  wire  custom_mem = custom3_push | custom3_save; // @[e203_nice_core_144k.scala 62:33]
  reg [31:0] maddr_acc_r; // @[e203_nice_core_144k.scala 71:28]
  wire  memreq_hsked = io_memreq_valid & io_memreq_ready; // @[e203_nice_core_144k.scala 72:38]
  wire  maddr_acc_ena = _T_25 & memreq_hsked | isidle & custom_mem; // @[e203_nice_core_144k.scala 73:46]
  wire [31:0] _T_41 = io_memreq_bits_addr + 32'h4; // @[e203_nice_core_144k.scala 75:56]
  wire [10:0] push_num = io_req_bits_rs2[10:0] - 11'h1; // @[e203_nice_core_144k.scala 78:40]
  wire [6:0] _T_48 = push_num[10:4] + io_req_bits_rs2[21:15]; // @[e203_nice_core_144k.scala 80:32]
  wire [8:0] _T_52 = push_num[10:2] + io_req_bits_rs2[21:13]; // @[e203_nice_core_144k.scala 82:32]
  wire [8:0] _GEN_6 = custom3_save ? _T_52 : {{1'd0}, transize}; // @[e203_nice_core_144k.scala 81:27 e203_nice_core_144k.scala 82:14 e203_nice_core_144k.scala 77:25]
  wire [8:0] _GEN_7 = custom3_push ? {{2'd0}, _T_48} : _GEN_6; // @[e203_nice_core_144k.scala 79:21 e203_nice_core_144k.scala 80:14]
  wire [6:0] _T_56 = push_cnt_r + 7'h1; // @[e203_nice_core_144k.scala 87:51]
  wire  memrsp_hsked = io_memrsp_ready & io_memrsp_valid; // @[e203_nice_core_144k.scala 90:38]
  reg [31:0] push_buf_r_0; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_1; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_2; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_3; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_4; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_5; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_6; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_7; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_8; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_9; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_10; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_11; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_12; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_13; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_14; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_15; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_16; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_17; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_18; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_19; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_20; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_21; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_22; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_23; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_24; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_25; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_26; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_27; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_28; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_29; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_30; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_31; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_32; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_33; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_34; // @[e203_nice_core_144k.scala 91:28]
  reg [31:0] push_buf_r_35; // @[e203_nice_core_144k.scala 91:28]
  wire  push_buf_we_0 = memrsp_hsked & ispush & push_cnt_r == 7'h0; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_1 = memrsp_hsked & ispush & push_cnt_r == 7'h1; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_2 = memrsp_hsked & ispush & push_cnt_r == 7'h2; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_3 = memrsp_hsked & ispush & push_cnt_r == 7'h3; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_4 = memrsp_hsked & ispush & push_cnt_r == 7'h4; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_5 = memrsp_hsked & ispush & push_cnt_r == 7'h5; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_6 = memrsp_hsked & ispush & push_cnt_r == 7'h6; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_7 = memrsp_hsked & ispush & push_cnt_r == 7'h7; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_8 = memrsp_hsked & ispush & push_cnt_r == 7'h8; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_9 = memrsp_hsked & ispush & push_cnt_r == 7'h9; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_10 = memrsp_hsked & ispush & push_cnt_r == 7'ha; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_11 = memrsp_hsked & ispush & push_cnt_r == 7'hb; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_12 = memrsp_hsked & ispush & push_cnt_r == 7'hc; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_13 = memrsp_hsked & ispush & push_cnt_r == 7'hd; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_14 = memrsp_hsked & ispush & push_cnt_r == 7'he; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_15 = memrsp_hsked & ispush & push_cnt_r == 7'hf; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_16 = memrsp_hsked & ispush & push_cnt_r == 7'h10; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_17 = memrsp_hsked & ispush & push_cnt_r == 7'h11; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_18 = memrsp_hsked & ispush & push_cnt_r == 7'h12; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_19 = memrsp_hsked & ispush & push_cnt_r == 7'h13; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_20 = memrsp_hsked & ispush & push_cnt_r == 7'h14; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_21 = memrsp_hsked & ispush & push_cnt_r == 7'h15; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_22 = memrsp_hsked & ispush & push_cnt_r == 7'h16; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_23 = memrsp_hsked & ispush & push_cnt_r == 7'h17; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_24 = memrsp_hsked & ispush & push_cnt_r == 7'h18; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_25 = memrsp_hsked & ispush & push_cnt_r == 7'h19; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_26 = memrsp_hsked & ispush & push_cnt_r == 7'h1a; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_27 = memrsp_hsked & ispush & push_cnt_r == 7'h1b; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_28 = memrsp_hsked & ispush & push_cnt_r == 7'h1c; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_29 = memrsp_hsked & ispush & push_cnt_r == 7'h1d; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_30 = memrsp_hsked & ispush & push_cnt_r == 7'h1e; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_31 = memrsp_hsked & ispush & push_cnt_r == 7'h1f; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_32 = memrsp_hsked & ispush & push_cnt_r == 7'h20; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_33 = memrsp_hsked & ispush & push_cnt_r == 7'h21; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_34 = memrsp_hsked & ispush & push_cnt_r == 7'h22; // @[e203_nice_core_144k.scala 94:45]
  wire  push_buf_we_35 = memrsp_hsked & ispush & push_cnt_r == 7'h23; // @[e203_nice_core_144k.scala 94:45]
  wire [287:0] lo_lo = {push_buf_r_8,push_buf_r_7,push_buf_r_6,push_buf_r_5,push_buf_r_4,push_buf_r_3,push_buf_r_2,
    push_buf_r_1,push_buf_r_0}; // @[e203_nice_core_144k.scala 97:35]
  wire [575:0] lo = {push_buf_r_17,push_buf_r_16,push_buf_r_15,push_buf_r_14,push_buf_r_13,push_buf_r_12,push_buf_r_11,
    push_buf_r_10,push_buf_r_9,lo_lo}; // @[e203_nice_core_144k.scala 97:35]
  wire [287:0] hi_lo = {push_buf_r_26,push_buf_r_25,push_buf_r_24,push_buf_r_23,push_buf_r_22,push_buf_r_21,
    push_buf_r_20,push_buf_r_19,push_buf_r_18}; // @[e203_nice_core_144k.scala 97:35]
  wire [575:0] hi = {push_buf_r_35,push_buf_r_34,push_buf_r_33,push_buf_r_32,push_buf_r_31,push_buf_r_30,push_buf_r_29,
    push_buf_r_28,push_buf_r_27,hi_lo}; // @[e203_nice_core_144k.scala 97:35]
  wire  save_cnt_ena = custom3_save | memrsp_hsked & issave & ~save_done; // @[e203_nice_core_144k.scala 102:34]
  wire [6:0] _T_214 = save_cmd_cnt + 7'h1; // @[e203_nice_core_144k.scala 103:46]
  reg  mvm_start; // @[e203_nice_core_144k.scala 107:26]
  reg [10:0] r_2; // @[Reg.scala 27:20]
  reg [15:0] r_3; // @[Reg.scala 27:20]
  reg [10:0] r_4; // @[Reg.scala 27:20]
  reg [15:0] r_5; // @[Reg.scala 27:20]
  wire [3:0] cim_result_0 = io_k144_i_result_buf[3:0]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_1 = io_k144_i_result_buf[7:4]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_2 = io_k144_i_result_buf[11:8]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_3 = io_k144_i_result_buf[15:12]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_4 = io_k144_i_result_buf[19:16]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_5 = io_k144_i_result_buf[23:20]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_6 = io_k144_i_result_buf[27:24]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_7 = io_k144_i_result_buf[31:28]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_8 = io_k144_i_result_buf[35:32]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_9 = io_k144_i_result_buf[39:36]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_10 = io_k144_i_result_buf[43:40]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_11 = io_k144_i_result_buf[47:44]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_12 = io_k144_i_result_buf[51:48]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_13 = io_k144_i_result_buf[55:52]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_14 = io_k144_i_result_buf[59:56]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_15 = io_k144_i_result_buf[63:60]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_16 = io_k144_i_result_buf[67:64]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_17 = io_k144_i_result_buf[71:68]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_18 = io_k144_i_result_buf[75:72]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_19 = io_k144_i_result_buf[79:76]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_20 = io_k144_i_result_buf[83:80]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_21 = io_k144_i_result_buf[87:84]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_22 = io_k144_i_result_buf[91:88]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_23 = io_k144_i_result_buf[95:92]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_24 = io_k144_i_result_buf[99:96]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_25 = io_k144_i_result_buf[103:100]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_26 = io_k144_i_result_buf[107:104]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_27 = io_k144_i_result_buf[111:108]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_28 = io_k144_i_result_buf[115:112]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_29 = io_k144_i_result_buf[119:116]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_30 = io_k144_i_result_buf[123:120]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_31 = io_k144_i_result_buf[127:124]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_32 = io_k144_i_result_buf[131:128]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_33 = io_k144_i_result_buf[135:132]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_34 = io_k144_i_result_buf[139:136]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_35 = io_k144_i_result_buf[143:140]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_36 = io_k144_i_result_buf[147:144]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_37 = io_k144_i_result_buf[151:148]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_38 = io_k144_i_result_buf[155:152]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_39 = io_k144_i_result_buf[159:156]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_40 = io_k144_i_result_buf[163:160]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_41 = io_k144_i_result_buf[167:164]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_42 = io_k144_i_result_buf[171:168]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_43 = io_k144_i_result_buf[175:172]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_44 = io_k144_i_result_buf[179:176]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_45 = io_k144_i_result_buf[183:180]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_46 = io_k144_i_result_buf[187:184]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_47 = io_k144_i_result_buf[191:188]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_48 = io_k144_i_result_buf[195:192]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_49 = io_k144_i_result_buf[199:196]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_50 = io_k144_i_result_buf[203:200]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_51 = io_k144_i_result_buf[207:204]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_52 = io_k144_i_result_buf[211:208]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_53 = io_k144_i_result_buf[215:212]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_54 = io_k144_i_result_buf[219:216]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_55 = io_k144_i_result_buf[223:220]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_56 = io_k144_i_result_buf[227:224]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_57 = io_k144_i_result_buf[231:228]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_58 = io_k144_i_result_buf[235:232]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_59 = io_k144_i_result_buf[239:236]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_60 = io_k144_i_result_buf[243:240]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_61 = io_k144_i_result_buf[247:244]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_62 = io_k144_i_result_buf[251:248]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_63 = io_k144_i_result_buf[255:252]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_64 = io_k144_i_result_buf[259:256]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_65 = io_k144_i_result_buf[263:260]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_66 = io_k144_i_result_buf[267:264]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_67 = io_k144_i_result_buf[271:268]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_68 = io_k144_i_result_buf[275:272]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_69 = io_k144_i_result_buf[279:276]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_70 = io_k144_i_result_buf[283:280]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_71 = io_k144_i_result_buf[287:284]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_72 = io_k144_i_result_buf[291:288]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_73 = io_k144_i_result_buf[295:292]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_74 = io_k144_i_result_buf[299:296]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_75 = io_k144_i_result_buf[303:300]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_76 = io_k144_i_result_buf[307:304]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_77 = io_k144_i_result_buf[311:308]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_78 = io_k144_i_result_buf[315:312]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_79 = io_k144_i_result_buf[319:316]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_80 = io_k144_i_result_buf[323:320]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_81 = io_k144_i_result_buf[327:324]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_82 = io_k144_i_result_buf[331:328]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_83 = io_k144_i_result_buf[335:332]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_84 = io_k144_i_result_buf[339:336]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_85 = io_k144_i_result_buf[343:340]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_86 = io_k144_i_result_buf[347:344]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_87 = io_k144_i_result_buf[351:348]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_88 = io_k144_i_result_buf[355:352]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_89 = io_k144_i_result_buf[359:356]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_90 = io_k144_i_result_buf[363:360]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_91 = io_k144_i_result_buf[367:364]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_92 = io_k144_i_result_buf[371:368]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_93 = io_k144_i_result_buf[375:372]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_94 = io_k144_i_result_buf[379:376]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_95 = io_k144_i_result_buf[383:380]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_96 = io_k144_i_result_buf[387:384]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_97 = io_k144_i_result_buf[391:388]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_98 = io_k144_i_result_buf[395:392]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_99 = io_k144_i_result_buf[399:396]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_100 = io_k144_i_result_buf[403:400]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_101 = io_k144_i_result_buf[407:404]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_102 = io_k144_i_result_buf[411:408]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_103 = io_k144_i_result_buf[415:412]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_104 = io_k144_i_result_buf[419:416]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_105 = io_k144_i_result_buf[423:420]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_106 = io_k144_i_result_buf[427:424]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_107 = io_k144_i_result_buf[431:428]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_108 = io_k144_i_result_buf[435:432]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_109 = io_k144_i_result_buf[439:436]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_110 = io_k144_i_result_buf[443:440]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_111 = io_k144_i_result_buf[447:444]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_112 = io_k144_i_result_buf[451:448]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_113 = io_k144_i_result_buf[455:452]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_114 = io_k144_i_result_buf[459:456]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_115 = io_k144_i_result_buf[463:460]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_116 = io_k144_i_result_buf[467:464]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_117 = io_k144_i_result_buf[471:468]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_118 = io_k144_i_result_buf[475:472]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_119 = io_k144_i_result_buf[479:476]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_120 = io_k144_i_result_buf[483:480]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_121 = io_k144_i_result_buf[487:484]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_122 = io_k144_i_result_buf[491:488]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_123 = io_k144_i_result_buf[495:492]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_124 = io_k144_i_result_buf[499:496]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_125 = io_k144_i_result_buf[503:500]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_126 = io_k144_i_result_buf[507:504]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_127 = io_k144_i_result_buf[511:508]; // @[e203_nice_core_144k.scala 122:49]
  wire [3:0] cim_result_real_0 = cim_result_0 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_1 = cim_result_1 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_2 = cim_result_2 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_3 = cim_result_3 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_4 = cim_result_4 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_5 = cim_result_5 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_6 = cim_result_6 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_7 = cim_result_7 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_8 = cim_result_8 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_9 = cim_result_9 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_10 = cim_result_10 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_11 = cim_result_11 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_12 = cim_result_12 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_13 = cim_result_13 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_14 = cim_result_14 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_15 = cim_result_15 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_16 = cim_result_16 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_17 = cim_result_17 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_18 = cim_result_18 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_19 = cim_result_19 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_20 = cim_result_20 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_21 = cim_result_21 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_22 = cim_result_22 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_23 = cim_result_23 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_24 = cim_result_24 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_25 = cim_result_25 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_26 = cim_result_26 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_27 = cim_result_27 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_28 = cim_result_28 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_29 = cim_result_29 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_30 = cim_result_30 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_31 = cim_result_31 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_32 = cim_result_32 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_33 = cim_result_33 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_34 = cim_result_34 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_35 = cim_result_35 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_36 = cim_result_36 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_37 = cim_result_37 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_38 = cim_result_38 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_39 = cim_result_39 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_40 = cim_result_40 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_41 = cim_result_41 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_42 = cim_result_42 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_43 = cim_result_43 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_44 = cim_result_44 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_45 = cim_result_45 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_46 = cim_result_46 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_47 = cim_result_47 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_48 = cim_result_48 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_49 = cim_result_49 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_50 = cim_result_50 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_51 = cim_result_51 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_52 = cim_result_52 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_53 = cim_result_53 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_54 = cim_result_54 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_55 = cim_result_55 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_56 = cim_result_56 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_57 = cim_result_57 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_58 = cim_result_58 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_59 = cim_result_59 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_60 = cim_result_60 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_61 = cim_result_61 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_62 = cim_result_62 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_63 = cim_result_63 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_64 = cim_result_64 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_65 = cim_result_65 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_66 = cim_result_66 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_67 = cim_result_67 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_68 = cim_result_68 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_69 = cim_result_69 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_70 = cim_result_70 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_71 = cim_result_71 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_72 = cim_result_72 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_73 = cim_result_73 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_74 = cim_result_74 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_75 = cim_result_75 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_76 = cim_result_76 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_77 = cim_result_77 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_78 = cim_result_78 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_79 = cim_result_79 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_80 = cim_result_80 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_81 = cim_result_81 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_82 = cim_result_82 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_83 = cim_result_83 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_84 = cim_result_84 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_85 = cim_result_85 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_86 = cim_result_86 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_87 = cim_result_87 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_88 = cim_result_88 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_89 = cim_result_89 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_90 = cim_result_90 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_91 = cim_result_91 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_92 = cim_result_92 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_93 = cim_result_93 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_94 = cim_result_94 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_95 = cim_result_95 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_96 = cim_result_96 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_97 = cim_result_97 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_98 = cim_result_98 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_99 = cim_result_99 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_100 = cim_result_100 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_101 = cim_result_101 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_102 = cim_result_102 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_103 = cim_result_103 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_104 = cim_result_104 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_105 = cim_result_105 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_106 = cim_result_106 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_107 = cim_result_107 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_108 = cim_result_108 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_109 = cim_result_109 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_110 = cim_result_110 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_111 = cim_result_111 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_112 = cim_result_112 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_113 = cim_result_113 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_114 = cim_result_114 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_115 = cim_result_115 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_116 = cim_result_116 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_117 = cim_result_117 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_118 = cim_result_118 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_119 = cim_result_119 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_120 = cim_result_120 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_121 = cim_result_121 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_122 = cim_result_122 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_123 = cim_result_123 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_124 = cim_result_124 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_125 = cim_result_125 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_126 = cim_result_126 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [3:0] cim_result_real_127 = cim_result_127 ^ 4'h8; // @[e203_nice_core_144k.scala 126:61]
  wire [7:0] lo_lo_lo_lo_lo_lo_lo = {{4{cim_result_real_0[3]}},cim_result_real_0}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_lo_lo_lo_lo_hi = {{4{cim_result_real_1[3]}},cim_result_real_1}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_lo_lo_lo_hi_lo = {{4{cim_result_real_2[3]}},cim_result_real_2}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_lo_lo_lo_hi_hi = {{4{cim_result_real_3[3]}},cim_result_real_3}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_lo_lo_hi_lo_lo = {{4{cim_result_real_4[3]}},cim_result_real_4}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_lo_lo_hi_lo_hi = {{4{cim_result_real_5[3]}},cim_result_real_5}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_lo_lo_hi_hi_lo = {{4{cim_result_real_6[3]}},cim_result_real_6}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_lo_lo_hi_hi_hi = {{4{cim_result_real_7[3]}},cim_result_real_7}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_lo_hi_lo_lo_lo = {{4{cim_result_real_8[3]}},cim_result_real_8}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_lo_hi_lo_lo_hi = {{4{cim_result_real_9[3]}},cim_result_real_9}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_lo_hi_lo_hi_lo = {{4{cim_result_real_10[3]}},cim_result_real_10}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_lo_hi_lo_hi_hi = {{4{cim_result_real_11[3]}},cim_result_real_11}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_lo_hi_hi_lo_lo = {{4{cim_result_real_12[3]}},cim_result_real_12}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_lo_hi_hi_lo_hi = {{4{cim_result_real_13[3]}},cim_result_real_13}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_lo_hi_hi_hi_lo = {{4{cim_result_real_14[3]}},cim_result_real_14}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_lo_hi_hi_hi_hi = {{4{cim_result_real_15[3]}},cim_result_real_15}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_hi_lo_lo_lo_lo = {{4{cim_result_real_16[3]}},cim_result_real_16}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_hi_lo_lo_lo_hi = {{4{cim_result_real_17[3]}},cim_result_real_17}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_hi_lo_lo_hi_lo = {{4{cim_result_real_18[3]}},cim_result_real_18}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_hi_lo_lo_hi_hi = {{4{cim_result_real_19[3]}},cim_result_real_19}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_hi_lo_hi_lo_lo = {{4{cim_result_real_20[3]}},cim_result_real_20}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_hi_lo_hi_lo_hi = {{4{cim_result_real_21[3]}},cim_result_real_21}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_hi_lo_hi_hi_lo = {{4{cim_result_real_22[3]}},cim_result_real_22}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_hi_lo_hi_hi_hi = {{4{cim_result_real_23[3]}},cim_result_real_23}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_hi_hi_lo_lo_lo = {{4{cim_result_real_24[3]}},cim_result_real_24}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_hi_hi_lo_lo_hi = {{4{cim_result_real_25[3]}},cim_result_real_25}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_hi_hi_lo_hi_lo = {{4{cim_result_real_26[3]}},cim_result_real_26}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_hi_hi_lo_hi_hi = {{4{cim_result_real_27[3]}},cim_result_real_27}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_hi_hi_hi_lo_lo = {{4{cim_result_real_28[3]}},cim_result_real_28}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_hi_hi_hi_lo_hi = {{4{cim_result_real_29[3]}},cim_result_real_29}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_hi_hi_hi_hi_lo = {{4{cim_result_real_30[3]}},cim_result_real_30}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_lo_hi_hi_hi_hi_hi = {{4{cim_result_real_31[3]}},cim_result_real_31}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_lo_lo_lo_lo_lo = {{4{cim_result_real_32[3]}},cim_result_real_32}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_lo_lo_lo_lo_hi = {{4{cim_result_real_33[3]}},cim_result_real_33}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_lo_lo_lo_hi_lo = {{4{cim_result_real_34[3]}},cim_result_real_34}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_lo_lo_lo_hi_hi = {{4{cim_result_real_35[3]}},cim_result_real_35}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_lo_lo_hi_lo_lo = {{4{cim_result_real_36[3]}},cim_result_real_36}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_lo_lo_hi_lo_hi = {{4{cim_result_real_37[3]}},cim_result_real_37}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_lo_lo_hi_hi_lo = {{4{cim_result_real_38[3]}},cim_result_real_38}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_lo_lo_hi_hi_hi = {{4{cim_result_real_39[3]}},cim_result_real_39}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_lo_hi_lo_lo_lo = {{4{cim_result_real_40[3]}},cim_result_real_40}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_lo_hi_lo_lo_hi = {{4{cim_result_real_41[3]}},cim_result_real_41}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_lo_hi_lo_hi_lo = {{4{cim_result_real_42[3]}},cim_result_real_42}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_lo_hi_lo_hi_hi = {{4{cim_result_real_43[3]}},cim_result_real_43}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_lo_hi_hi_lo_lo = {{4{cim_result_real_44[3]}},cim_result_real_44}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_lo_hi_hi_lo_hi = {{4{cim_result_real_45[3]}},cim_result_real_45}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_lo_hi_hi_hi_lo = {{4{cim_result_real_46[3]}},cim_result_real_46}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_lo_hi_hi_hi_hi = {{4{cim_result_real_47[3]}},cim_result_real_47}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_hi_lo_lo_lo_lo = {{4{cim_result_real_48[3]}},cim_result_real_48}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_hi_lo_lo_lo_hi = {{4{cim_result_real_49[3]}},cim_result_real_49}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_hi_lo_lo_hi_lo = {{4{cim_result_real_50[3]}},cim_result_real_50}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_hi_lo_lo_hi_hi = {{4{cim_result_real_51[3]}},cim_result_real_51}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_hi_lo_hi_lo_lo = {{4{cim_result_real_52[3]}},cim_result_real_52}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_hi_lo_hi_lo_hi = {{4{cim_result_real_53[3]}},cim_result_real_53}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_hi_lo_hi_hi_lo = {{4{cim_result_real_54[3]}},cim_result_real_54}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_hi_lo_hi_hi_hi = {{4{cim_result_real_55[3]}},cim_result_real_55}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_hi_hi_lo_lo_lo = {{4{cim_result_real_56[3]}},cim_result_real_56}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_hi_hi_lo_lo_hi = {{4{cim_result_real_57[3]}},cim_result_real_57}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_hi_hi_lo_hi_lo = {{4{cim_result_real_58[3]}},cim_result_real_58}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_hi_hi_lo_hi_hi = {{4{cim_result_real_59[3]}},cim_result_real_59}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_hi_hi_hi_lo_lo = {{4{cim_result_real_60[3]}},cim_result_real_60}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_hi_hi_hi_lo_hi = {{4{cim_result_real_61[3]}},cim_result_real_61}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_hi_hi_hi_hi_lo = {{4{cim_result_real_62[3]}},cim_result_real_62}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] lo_hi_hi_hi_hi_hi_hi = {{4{cim_result_real_63[3]}},cim_result_real_63}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_lo_lo_lo_lo_lo = {{4{cim_result_real_64[3]}},cim_result_real_64}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_lo_lo_lo_lo_hi = {{4{cim_result_real_65[3]}},cim_result_real_65}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_lo_lo_lo_hi_lo = {{4{cim_result_real_66[3]}},cim_result_real_66}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_lo_lo_lo_hi_hi = {{4{cim_result_real_67[3]}},cim_result_real_67}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_lo_lo_hi_lo_lo = {{4{cim_result_real_68[3]}},cim_result_real_68}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_lo_lo_hi_lo_hi = {{4{cim_result_real_69[3]}},cim_result_real_69}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_lo_lo_hi_hi_lo = {{4{cim_result_real_70[3]}},cim_result_real_70}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_lo_lo_hi_hi_hi = {{4{cim_result_real_71[3]}},cim_result_real_71}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_lo_hi_lo_lo_lo = {{4{cim_result_real_72[3]}},cim_result_real_72}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_lo_hi_lo_lo_hi = {{4{cim_result_real_73[3]}},cim_result_real_73}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_lo_hi_lo_hi_lo = {{4{cim_result_real_74[3]}},cim_result_real_74}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_lo_hi_lo_hi_hi = {{4{cim_result_real_75[3]}},cim_result_real_75}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_lo_hi_hi_lo_lo = {{4{cim_result_real_76[3]}},cim_result_real_76}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_lo_hi_hi_lo_hi = {{4{cim_result_real_77[3]}},cim_result_real_77}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_lo_hi_hi_hi_lo = {{4{cim_result_real_78[3]}},cim_result_real_78}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_lo_hi_hi_hi_hi = {{4{cim_result_real_79[3]}},cim_result_real_79}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_hi_lo_lo_lo_lo = {{4{cim_result_real_80[3]}},cim_result_real_80}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_hi_lo_lo_lo_hi = {{4{cim_result_real_81[3]}},cim_result_real_81}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_hi_lo_lo_hi_lo = {{4{cim_result_real_82[3]}},cim_result_real_82}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_hi_lo_lo_hi_hi = {{4{cim_result_real_83[3]}},cim_result_real_83}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_hi_lo_hi_lo_lo = {{4{cim_result_real_84[3]}},cim_result_real_84}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_hi_lo_hi_lo_hi = {{4{cim_result_real_85[3]}},cim_result_real_85}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_hi_lo_hi_hi_lo = {{4{cim_result_real_86[3]}},cim_result_real_86}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_hi_lo_hi_hi_hi = {{4{cim_result_real_87[3]}},cim_result_real_87}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_hi_hi_lo_lo_lo = {{4{cim_result_real_88[3]}},cim_result_real_88}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_hi_hi_lo_lo_hi = {{4{cim_result_real_89[3]}},cim_result_real_89}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_hi_hi_lo_hi_lo = {{4{cim_result_real_90[3]}},cim_result_real_90}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_hi_hi_lo_hi_hi = {{4{cim_result_real_91[3]}},cim_result_real_91}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_hi_hi_hi_lo_lo = {{4{cim_result_real_92[3]}},cim_result_real_92}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_hi_hi_hi_lo_hi = {{4{cim_result_real_93[3]}},cim_result_real_93}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_hi_hi_hi_hi_lo = {{4{cim_result_real_94[3]}},cim_result_real_94}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_lo_hi_hi_hi_hi_hi = {{4{cim_result_real_95[3]}},cim_result_real_95}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_lo_lo_lo_lo_lo = {{4{cim_result_real_96[3]}},cim_result_real_96}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_lo_lo_lo_lo_hi = {{4{cim_result_real_97[3]}},cim_result_real_97}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_lo_lo_lo_hi_lo = {{4{cim_result_real_98[3]}},cim_result_real_98}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_lo_lo_lo_hi_hi = {{4{cim_result_real_99[3]}},cim_result_real_99}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_lo_lo_hi_lo_lo = {{4{cim_result_real_100[3]}},cim_result_real_100}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_lo_lo_hi_lo_hi = {{4{cim_result_real_101[3]}},cim_result_real_101}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_lo_lo_hi_hi_lo = {{4{cim_result_real_102[3]}},cim_result_real_102}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_lo_lo_hi_hi_hi = {{4{cim_result_real_103[3]}},cim_result_real_103}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_lo_hi_lo_lo_lo = {{4{cim_result_real_104[3]}},cim_result_real_104}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_lo_hi_lo_lo_hi = {{4{cim_result_real_105[3]}},cim_result_real_105}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_lo_hi_lo_hi_lo = {{4{cim_result_real_106[3]}},cim_result_real_106}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_lo_hi_lo_hi_hi = {{4{cim_result_real_107[3]}},cim_result_real_107}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_lo_hi_hi_lo_lo = {{4{cim_result_real_108[3]}},cim_result_real_108}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_lo_hi_hi_lo_hi = {{4{cim_result_real_109[3]}},cim_result_real_109}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_lo_hi_hi_hi_lo = {{4{cim_result_real_110[3]}},cim_result_real_110}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_lo_hi_hi_hi_hi = {{4{cim_result_real_111[3]}},cim_result_real_111}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_hi_lo_lo_lo_lo = {{4{cim_result_real_112[3]}},cim_result_real_112}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_hi_lo_lo_lo_hi = {{4{cim_result_real_113[3]}},cim_result_real_113}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_hi_lo_lo_hi_lo = {{4{cim_result_real_114[3]}},cim_result_real_114}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_hi_lo_lo_hi_hi = {{4{cim_result_real_115[3]}},cim_result_real_115}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_hi_lo_hi_lo_lo = {{4{cim_result_real_116[3]}},cim_result_real_116}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_hi_lo_hi_lo_hi = {{4{cim_result_real_117[3]}},cim_result_real_117}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_hi_lo_hi_hi_lo = {{4{cim_result_real_118[3]}},cim_result_real_118}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_hi_lo_hi_hi_hi = {{4{cim_result_real_119[3]}},cim_result_real_119}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_hi_hi_lo_lo_lo = {{4{cim_result_real_120[3]}},cim_result_real_120}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_hi_hi_lo_lo_hi = {{4{cim_result_real_121[3]}},cim_result_real_121}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_hi_hi_lo_hi_lo = {{4{cim_result_real_122[3]}},cim_result_real_122}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_hi_hi_lo_hi_hi = {{4{cim_result_real_123[3]}},cim_result_real_123}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_hi_hi_hi_lo_lo = {{4{cim_result_real_124[3]}},cim_result_real_124}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_hi_hi_hi_lo_hi = {{4{cim_result_real_125[3]}},cim_result_real_125}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_hi_hi_hi_hi_lo = {{4{cim_result_real_126[3]}},cim_result_real_126}; // @[e203_nice_core_144k.scala 135:42]
  wire [7:0] hi_hi_hi_hi_hi_hi_hi = {{4{cim_result_real_127[3]}},cim_result_real_127}; // @[e203_nice_core_144k.scala 135:42]
  wire [63:0] lo_lo_lo_lo_1 = {lo_lo_lo_lo_hi_hi_hi,lo_lo_lo_lo_hi_hi_lo,lo_lo_lo_lo_hi_lo_hi,lo_lo_lo_lo_hi_lo_lo,
    lo_lo_lo_lo_lo_hi_hi,lo_lo_lo_lo_lo_hi_lo,lo_lo_lo_lo_lo_lo_hi,lo_lo_lo_lo_lo_lo_lo}; // @[e203_nice_core_144k.scala 135:42]
  wire [127:0] lo_lo_lo_1 = {lo_lo_lo_hi_hi_hi_hi,lo_lo_lo_hi_hi_hi_lo,lo_lo_lo_hi_hi_lo_hi,lo_lo_lo_hi_hi_lo_lo,
    lo_lo_lo_hi_lo_hi_hi,lo_lo_lo_hi_lo_hi_lo,lo_lo_lo_hi_lo_lo_hi,lo_lo_lo_hi_lo_lo_lo,lo_lo_lo_lo_1}; // @[e203_nice_core_144k.scala 135:42]
  wire [63:0] lo_lo_hi_lo_1 = {lo_lo_hi_lo_hi_hi_hi,lo_lo_hi_lo_hi_hi_lo,lo_lo_hi_lo_hi_lo_hi,lo_lo_hi_lo_hi_lo_lo,
    lo_lo_hi_lo_lo_hi_hi,lo_lo_hi_lo_lo_hi_lo,lo_lo_hi_lo_lo_lo_hi,lo_lo_hi_lo_lo_lo_lo}; // @[e203_nice_core_144k.scala 135:42]
  wire [255:0] lo_lo_1 = {lo_lo_hi_hi_hi_hi_hi,lo_lo_hi_hi_hi_hi_lo,lo_lo_hi_hi_hi_lo_hi,lo_lo_hi_hi_hi_lo_lo,
    lo_lo_hi_hi_lo_hi_hi,lo_lo_hi_hi_lo_hi_lo,lo_lo_hi_hi_lo_lo_hi,lo_lo_hi_hi_lo_lo_lo,lo_lo_hi_lo_1,lo_lo_lo_1}; // @[e203_nice_core_144k.scala 135:42]
  wire [63:0] lo_hi_lo_lo_1 = {lo_hi_lo_lo_hi_hi_hi,lo_hi_lo_lo_hi_hi_lo,lo_hi_lo_lo_hi_lo_hi,lo_hi_lo_lo_hi_lo_lo,
    lo_hi_lo_lo_lo_hi_hi,lo_hi_lo_lo_lo_hi_lo,lo_hi_lo_lo_lo_lo_hi,lo_hi_lo_lo_lo_lo_lo}; // @[e203_nice_core_144k.scala 135:42]
  wire [127:0] lo_hi_lo_1 = {lo_hi_lo_hi_hi_hi_hi,lo_hi_lo_hi_hi_hi_lo,lo_hi_lo_hi_hi_lo_hi,lo_hi_lo_hi_hi_lo_lo,
    lo_hi_lo_hi_lo_hi_hi,lo_hi_lo_hi_lo_hi_lo,lo_hi_lo_hi_lo_lo_hi,lo_hi_lo_hi_lo_lo_lo,lo_hi_lo_lo_1}; // @[e203_nice_core_144k.scala 135:42]
  wire [63:0] lo_hi_hi_lo_1 = {lo_hi_hi_lo_hi_hi_hi,lo_hi_hi_lo_hi_hi_lo,lo_hi_hi_lo_hi_lo_hi,lo_hi_hi_lo_hi_lo_lo,
    lo_hi_hi_lo_lo_hi_hi,lo_hi_hi_lo_lo_hi_lo,lo_hi_hi_lo_lo_lo_hi,lo_hi_hi_lo_lo_lo_lo}; // @[e203_nice_core_144k.scala 135:42]
  wire [255:0] lo_hi_1 = {lo_hi_hi_hi_hi_hi_hi,lo_hi_hi_hi_hi_hi_lo,lo_hi_hi_hi_hi_lo_hi,lo_hi_hi_hi_hi_lo_lo,
    lo_hi_hi_hi_lo_hi_hi,lo_hi_hi_hi_lo_hi_lo,lo_hi_hi_hi_lo_lo_hi,lo_hi_hi_hi_lo_lo_lo,lo_hi_hi_lo_1,lo_hi_lo_1}; // @[e203_nice_core_144k.scala 135:42]
  wire [63:0] hi_lo_lo_lo_1 = {hi_lo_lo_lo_hi_hi_hi,hi_lo_lo_lo_hi_hi_lo,hi_lo_lo_lo_hi_lo_hi,hi_lo_lo_lo_hi_lo_lo,
    hi_lo_lo_lo_lo_hi_hi,hi_lo_lo_lo_lo_hi_lo,hi_lo_lo_lo_lo_lo_hi,hi_lo_lo_lo_lo_lo_lo}; // @[e203_nice_core_144k.scala 135:42]
  wire [127:0] hi_lo_lo_1 = {hi_lo_lo_hi_hi_hi_hi,hi_lo_lo_hi_hi_hi_lo,hi_lo_lo_hi_hi_lo_hi,hi_lo_lo_hi_hi_lo_lo,
    hi_lo_lo_hi_lo_hi_hi,hi_lo_lo_hi_lo_hi_lo,hi_lo_lo_hi_lo_lo_hi,hi_lo_lo_hi_lo_lo_lo,hi_lo_lo_lo_1}; // @[e203_nice_core_144k.scala 135:42]
  wire [63:0] hi_lo_hi_lo_1 = {hi_lo_hi_lo_hi_hi_hi,hi_lo_hi_lo_hi_hi_lo,hi_lo_hi_lo_hi_lo_hi,hi_lo_hi_lo_hi_lo_lo,
    hi_lo_hi_lo_lo_hi_hi,hi_lo_hi_lo_lo_hi_lo,hi_lo_hi_lo_lo_lo_hi,hi_lo_hi_lo_lo_lo_lo}; // @[e203_nice_core_144k.scala 135:42]
  wire [255:0] hi_lo_1 = {hi_lo_hi_hi_hi_hi_hi,hi_lo_hi_hi_hi_hi_lo,hi_lo_hi_hi_hi_lo_hi,hi_lo_hi_hi_hi_lo_lo,
    hi_lo_hi_hi_lo_hi_hi,hi_lo_hi_hi_lo_hi_lo,hi_lo_hi_hi_lo_lo_hi,hi_lo_hi_hi_lo_lo_lo,hi_lo_hi_lo_1,hi_lo_lo_1}; // @[e203_nice_core_144k.scala 135:42]
  wire [63:0] hi_hi_lo_lo_1 = {hi_hi_lo_lo_hi_hi_hi,hi_hi_lo_lo_hi_hi_lo,hi_hi_lo_lo_hi_lo_hi,hi_hi_lo_lo_hi_lo_lo,
    hi_hi_lo_lo_lo_hi_hi,hi_hi_lo_lo_lo_hi_lo,hi_hi_lo_lo_lo_lo_hi,hi_hi_lo_lo_lo_lo_lo}; // @[e203_nice_core_144k.scala 135:42]
  wire [127:0] hi_hi_lo_1 = {hi_hi_lo_hi_hi_hi_hi,hi_hi_lo_hi_hi_hi_lo,hi_hi_lo_hi_hi_lo_hi,hi_hi_lo_hi_hi_lo_lo,
    hi_hi_lo_hi_lo_hi_hi,hi_hi_lo_hi_lo_hi_lo,hi_hi_lo_hi_lo_lo_hi,hi_hi_lo_hi_lo_lo_lo,hi_hi_lo_lo_1}; // @[e203_nice_core_144k.scala 135:42]
  wire [63:0] hi_hi_hi_lo_1 = {hi_hi_hi_lo_hi_hi_hi,hi_hi_hi_lo_hi_hi_lo,hi_hi_hi_lo_hi_lo_hi,hi_hi_hi_lo_hi_lo_lo,
    hi_hi_hi_lo_lo_hi_hi,hi_hi_hi_lo_lo_hi_lo,hi_hi_hi_lo_lo_lo_hi,hi_hi_hi_lo_lo_lo_lo}; // @[e203_nice_core_144k.scala 135:42]
  wire [255:0] hi_hi_1 = {hi_hi_hi_hi_hi_hi_hi,hi_hi_hi_hi_hi_hi_lo,hi_hi_hi_hi_hi_lo_hi,hi_hi_hi_hi_hi_lo_lo,
    hi_hi_hi_hi_lo_hi_hi,hi_hi_hi_hi_lo_hi_lo,hi_hi_hi_hi_lo_lo_hi,hi_hi_hi_hi_lo_lo_lo,hi_hi_hi_lo_1,hi_hi_lo_1}; // @[e203_nice_core_144k.scala 135:42]
  wire [1023:0] _T_606 = {hi_hi_1,hi_lo_1,lo_hi_1,lo_lo_1}; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_0 = _T_606[31:0]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_1 = _T_606[63:32]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_2 = _T_606[95:64]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_3 = _T_606[127:96]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_4 = _T_606[159:128]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_5 = _T_606[191:160]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_6 = _T_606[223:192]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_7 = _T_606[255:224]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_8 = _T_606[287:256]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_9 = _T_606[319:288]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_10 = _T_606[351:320]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_11 = _T_606[383:352]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_12 = _T_606[415:384]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_13 = _T_606[447:416]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_14 = _T_606[479:448]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_15 = _T_606[511:480]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_16 = _T_606[543:512]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_17 = _T_606[575:544]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_18 = _T_606[607:576]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_19 = _T_606[639:608]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_20 = _T_606[671:640]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_21 = _T_606[703:672]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_22 = _T_606[735:704]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_23 = _T_606[767:736]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_24 = _T_606[799:768]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_25 = _T_606[831:800]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_26 = _T_606[863:832]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_27 = _T_606[895:864]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_28 = _T_606[927:896]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_29 = _T_606[959:928]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_30 = _T_606[991:960]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] save_buf_wire_31 = _T_606[1023:992]; // @[e203_nice_core_144k.scala 135:42]
  wire [31:0] _GEN_13 = 5'h1 == save_cmd_cnt[4:0] ? save_buf_wire_1 : save_buf_wire_0; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  wire [31:0] _GEN_14 = 5'h2 == save_cmd_cnt[4:0] ? save_buf_wire_2 : _GEN_13; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  wire [31:0] _GEN_15 = 5'h3 == save_cmd_cnt[4:0] ? save_buf_wire_3 : _GEN_14; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  wire [31:0] _GEN_16 = 5'h4 == save_cmd_cnt[4:0] ? save_buf_wire_4 : _GEN_15; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  wire [31:0] _GEN_17 = 5'h5 == save_cmd_cnt[4:0] ? save_buf_wire_5 : _GEN_16; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  wire [31:0] _GEN_18 = 5'h6 == save_cmd_cnt[4:0] ? save_buf_wire_6 : _GEN_17; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  wire [31:0] _GEN_19 = 5'h7 == save_cmd_cnt[4:0] ? save_buf_wire_7 : _GEN_18; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  wire [31:0] _GEN_20 = 5'h8 == save_cmd_cnt[4:0] ? save_buf_wire_8 : _GEN_19; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  wire [31:0] _GEN_21 = 5'h9 == save_cmd_cnt[4:0] ? save_buf_wire_9 : _GEN_20; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  wire [31:0] _GEN_22 = 5'ha == save_cmd_cnt[4:0] ? save_buf_wire_10 : _GEN_21; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  wire [31:0] _GEN_23 = 5'hb == save_cmd_cnt[4:0] ? save_buf_wire_11 : _GEN_22; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  wire [31:0] _GEN_24 = 5'hc == save_cmd_cnt[4:0] ? save_buf_wire_12 : _GEN_23; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  wire [31:0] _GEN_25 = 5'hd == save_cmd_cnt[4:0] ? save_buf_wire_13 : _GEN_24; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  wire [31:0] _GEN_26 = 5'he == save_cmd_cnt[4:0] ? save_buf_wire_14 : _GEN_25; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  wire [31:0] _GEN_27 = 5'hf == save_cmd_cnt[4:0] ? save_buf_wire_15 : _GEN_26; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  wire [31:0] _GEN_28 = 5'h10 == save_cmd_cnt[4:0] ? save_buf_wire_16 : _GEN_27; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  wire [31:0] _GEN_29 = 5'h11 == save_cmd_cnt[4:0] ? save_buf_wire_17 : _GEN_28; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  wire [31:0] _GEN_30 = 5'h12 == save_cmd_cnt[4:0] ? save_buf_wire_18 : _GEN_29; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  wire [31:0] _GEN_31 = 5'h13 == save_cmd_cnt[4:0] ? save_buf_wire_19 : _GEN_30; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  wire [31:0] _GEN_32 = 5'h14 == save_cmd_cnt[4:0] ? save_buf_wire_20 : _GEN_31; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  wire [31:0] _GEN_33 = 5'h15 == save_cmd_cnt[4:0] ? save_buf_wire_21 : _GEN_32; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  wire [31:0] _GEN_34 = 5'h16 == save_cmd_cnt[4:0] ? save_buf_wire_22 : _GEN_33; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  wire [31:0] _GEN_35 = 5'h17 == save_cmd_cnt[4:0] ? save_buf_wire_23 : _GEN_34; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  wire [31:0] _GEN_36 = 5'h18 == save_cmd_cnt[4:0] ? save_buf_wire_24 : _GEN_35; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  wire [31:0] _GEN_37 = 5'h19 == save_cmd_cnt[4:0] ? save_buf_wire_25 : _GEN_36; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  wire [31:0] _GEN_38 = 5'h1a == save_cmd_cnt[4:0] ? save_buf_wire_26 : _GEN_37; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  wire [31:0] _GEN_39 = 5'h1b == save_cmd_cnt[4:0] ? save_buf_wire_27 : _GEN_38; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  wire [31:0] _GEN_40 = 5'h1c == save_cmd_cnt[4:0] ? save_buf_wire_28 : _GEN_39; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  wire [31:0] _GEN_41 = 5'h1d == save_cmd_cnt[4:0] ? save_buf_wire_29 : _GEN_40; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  wire [31:0] _GEN_42 = 5'h1e == save_cmd_cnt[4:0] ? save_buf_wire_30 : _GEN_41; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  reg  REG; // @[e203_nice_core_144k.scala 142:33]
  wire [9:0] rcbd_row_begin = r_2[9:0]; // @[e203_nice_core_144k.scala 109:18 e203_nice_core_144k.scala 110:18]
  wire [7:0] rcbd_col_begin = r_4[7:0]; // @[e203_nice_core_144k.scala 109:18 e203_nice_core_144k.scala 112:18]
  wire [9:0] rcbd_row_end = r_3[9:0]; // @[e203_nice_core_144k.scala 109:18 e203_nice_core_144k.scala 111:18]
  wire [7:0] rcbd_col_end = r_5[7:0]; // @[e203_nice_core_144k.scala 109:18 e203_nice_core_144k.scala 113:18]
  assign io_system_active = isidle ? io_req_valid : 1'h1; // @[e203_nice_core_144k.scala 54:27]
  assign io_system_holdup = ispush | issave; // @[e203_nice_core_144k.scala 53:31]
  assign io_req_ready = state == 3'h0; // @[e203_nice_core_144k.scala 19:22]
  assign io_rsp_valid = push_done | mvm_done | save_done | config_done; // @[e203_nice_core_144k.scala 52:56]
  assign io_rsp_bits_rdat = 32'h0; // @[e203_nice_core_144k.scala 57:19]
  assign io_rsp_bits_err = io_memrsp_bits_err & io_memrsp_valid & io_memrsp_ready; // @[e203_nice_core_144k.scala 56:59]
  assign io_memreq_valid = custom_mem | _T_25; // @[e203_nice_core_144k.scala 63:51]
  assign io_memreq_bits_addr = custom3_save | custom3_push ? io_req_bits_rs1 : maddr_acc_r; // @[e203_nice_core_144k.scala 74:29]
  assign io_memreq_bits_read = ~(issave | isidle & custom3_save); // @[e203_nice_core_144k.scala 59:26]
  assign io_memreq_bits_wdata = 5'h1f == save_cmd_cnt[4:0] ? save_buf_wire_31 : _GEN_42; // @[e203_nice_core_144k.scala 136:24 e203_nice_core_144k.scala 136:24]
  assign io_memreq_bits_size = 2'h2; // @[e203_nice_core_144k.scala 58:23]
  assign io_memrsp_ready = 1'h1; // @[e203_nice_core_144k.scala 60:23]
  assign io_k144_o_push_buf = {hi,lo}; // @[e203_nice_core_144k.scala 97:35]
  assign io_k144_o_start = mvm_start; // @[e203_nice_core_144k.scala 141:23]
  assign io_k144_o_push_done = ispush & _GEN_44 == transize; // @[e203_nice_core_144k.scala 88:23]
  assign io_k144_o_save_done = REG; // @[e203_nice_core_144k.scala 142:23]
  assign io_k144_o_row_index = {{6'd0}, rcbd_row_begin}; // @[e203_nice_core_144k.scala 109:18 e203_nice_core_144k.scala 110:18]
  assign io_k144_o_col_index = {{8'd0}, rcbd_col_begin}; // @[e203_nice_core_144k.scala 109:18 e203_nice_core_144k.scala 112:18]
  assign io_k144_o_row_length = {{1'd0}, rcbd_row_end}; // @[e203_nice_core_144k.scala 109:18 e203_nice_core_144k.scala 111:18]
  assign io_k144_o_col_length = {{3'd0}, rcbd_col_end}; // @[e203_nice_core_144k.scala 109:18 e203_nice_core_144k.scala 113:18]
  always @(posedge clock) begin
    cim_done_pos <= io_k144_i_result_done; // @[e203_nice_core_144k.scala 118:29]
    cim_done_neg <= cim_done_pos; // @[e203_nice_core_144k.scala 119:29]
    REG <= _GEN_45 == transize & issave; // @[e203_nice_core_144k.scala 101:44]
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      state <= 3'h0;
    end else if (_T_11) begin
      if (custom3_push) begin
        state <= 3'h1;
      end else if (custom3_save) begin
        state <= 3'h2;
      end else if (custom3_mvm) begin
        state <= 3'h3;
      end else begin
        state <= _T_12;
      end
    end else if (_T_16) begin
      if (push_done) begin
        state <= 3'h0;
      end else begin
        state <= 3'h1;
      end
    end else if (_T_18) begin
      if (save_done) begin
        state <= 3'h0;
      end else begin
        state <= 3'h2;
      end
    end else if (_T_20) begin
      state <= _T_21;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_cnt_r <= 7'h0;
    end else if (push_done) begin
      push_cnt_r <= 7'h0;
    end else if (custom3_push) begin
      push_cnt_r <= io_req_bits_rs2[21:15];
    end else if (ispush & memreq_hsked) begin
      push_cnt_r <= _T_56;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      transize <= 8'h0;
    end else begin
      transize <= _GEN_7[7:0];
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      save_cnt_r <= 7'h0;
    end else if (save_cnt_ena) begin
      save_cnt_r <= _T_214;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      maddr_acc_r <= 32'h0;
    end else if (maddr_acc_ena) begin
      maddr_acc_r <= _T_41;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_0 <= 32'h0;
    end else if (push_buf_we_0) begin
      push_buf_r_0 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_1 <= 32'h0;
    end else if (push_buf_we_1) begin
      push_buf_r_1 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_2 <= 32'h0;
    end else if (push_buf_we_2) begin
      push_buf_r_2 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_3 <= 32'h0;
    end else if (push_buf_we_3) begin
      push_buf_r_3 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_4 <= 32'h0;
    end else if (push_buf_we_4) begin
      push_buf_r_4 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_5 <= 32'h0;
    end else if (push_buf_we_5) begin
      push_buf_r_5 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_6 <= 32'h0;
    end else if (push_buf_we_6) begin
      push_buf_r_6 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_7 <= 32'h0;
    end else if (push_buf_we_7) begin
      push_buf_r_7 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_8 <= 32'h0;
    end else if (push_buf_we_8) begin
      push_buf_r_8 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_9 <= 32'h0;
    end else if (push_buf_we_9) begin
      push_buf_r_9 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_10 <= 32'h0;
    end else if (push_buf_we_10) begin
      push_buf_r_10 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_11 <= 32'h0;
    end else if (push_buf_we_11) begin
      push_buf_r_11 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_12 <= 32'h0;
    end else if (push_buf_we_12) begin
      push_buf_r_12 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_13 <= 32'h0;
    end else if (push_buf_we_13) begin
      push_buf_r_13 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_14 <= 32'h0;
    end else if (push_buf_we_14) begin
      push_buf_r_14 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_15 <= 32'h0;
    end else if (push_buf_we_15) begin
      push_buf_r_15 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_16 <= 32'h0;
    end else if (push_buf_we_16) begin
      push_buf_r_16 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_17 <= 32'h0;
    end else if (push_buf_we_17) begin
      push_buf_r_17 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_18 <= 32'h0;
    end else if (push_buf_we_18) begin
      push_buf_r_18 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_19 <= 32'h0;
    end else if (push_buf_we_19) begin
      push_buf_r_19 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_20 <= 32'h0;
    end else if (push_buf_we_20) begin
      push_buf_r_20 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_21 <= 32'h0;
    end else if (push_buf_we_21) begin
      push_buf_r_21 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_22 <= 32'h0;
    end else if (push_buf_we_22) begin
      push_buf_r_22 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_23 <= 32'h0;
    end else if (push_buf_we_23) begin
      push_buf_r_23 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_24 <= 32'h0;
    end else if (push_buf_we_24) begin
      push_buf_r_24 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_25 <= 32'h0;
    end else if (push_buf_we_25) begin
      push_buf_r_25 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_26 <= 32'h0;
    end else if (push_buf_we_26) begin
      push_buf_r_26 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_27 <= 32'h0;
    end else if (push_buf_we_27) begin
      push_buf_r_27 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_28 <= 32'h0;
    end else if (push_buf_we_28) begin
      push_buf_r_28 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_29 <= 32'h0;
    end else if (push_buf_we_29) begin
      push_buf_r_29 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_30 <= 32'h0;
    end else if (push_buf_we_30) begin
      push_buf_r_30 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_31 <= 32'h0;
    end else if (push_buf_we_31) begin
      push_buf_r_31 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_32 <= 32'h0;
    end else if (push_buf_we_32) begin
      push_buf_r_32 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_33 <= 32'h0;
    end else if (push_buf_we_33) begin
      push_buf_r_33 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_34 <= 32'h0;
    end else if (push_buf_we_34) begin
      push_buf_r_34 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      push_buf_r_35 <= 32'h0;
    end else if (push_buf_we_35) begin
      push_buf_r_35 <= io_memrsp_bits_rdata;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      mvm_start <= 1'h0;
    end else begin
      mvm_start <= _T_3 & rv32_func7_0000001 & isidle;
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      r_2 <= 11'h0;
    end else if (custom3_mvm) begin
      r_2 <= io_req_bits_rs2[21:11];
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      r_3 <= 16'h0;
    end else if (custom3_mvm) begin
      r_3 <= io_req_bits_rs1[31:16];
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      r_4 <= 11'h0;
    end else if (custom3_mvm) begin
      r_4 <= io_req_bits_rs2[10:0];
    end
  end
  always @(posedge clock or posedge reset) begin
    if (reset) begin
      r_5 <= 16'h0;
    end else if (custom3_mvm) begin
      r_5 <= io_req_bits_rs1[15:0];
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  state = _RAND_0[2:0];
  _RAND_1 = {1{`RANDOM}};
  push_cnt_r = _RAND_1[6:0];
  _RAND_2 = {1{`RANDOM}};
  transize = _RAND_2[7:0];
  _RAND_3 = {1{`RANDOM}};
  save_cnt_r = _RAND_3[6:0];
  _RAND_4 = {1{`RANDOM}};
  cim_done_pos = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  cim_done_neg = _RAND_5[0:0];
  _RAND_6 = {1{`RANDOM}};
  maddr_acc_r = _RAND_6[31:0];
  _RAND_7 = {1{`RANDOM}};
  push_buf_r_0 = _RAND_7[31:0];
  _RAND_8 = {1{`RANDOM}};
  push_buf_r_1 = _RAND_8[31:0];
  _RAND_9 = {1{`RANDOM}};
  push_buf_r_2 = _RAND_9[31:0];
  _RAND_10 = {1{`RANDOM}};
  push_buf_r_3 = _RAND_10[31:0];
  _RAND_11 = {1{`RANDOM}};
  push_buf_r_4 = _RAND_11[31:0];
  _RAND_12 = {1{`RANDOM}};
  push_buf_r_5 = _RAND_12[31:0];
  _RAND_13 = {1{`RANDOM}};
  push_buf_r_6 = _RAND_13[31:0];
  _RAND_14 = {1{`RANDOM}};
  push_buf_r_7 = _RAND_14[31:0];
  _RAND_15 = {1{`RANDOM}};
  push_buf_r_8 = _RAND_15[31:0];
  _RAND_16 = {1{`RANDOM}};
  push_buf_r_9 = _RAND_16[31:0];
  _RAND_17 = {1{`RANDOM}};
  push_buf_r_10 = _RAND_17[31:0];
  _RAND_18 = {1{`RANDOM}};
  push_buf_r_11 = _RAND_18[31:0];
  _RAND_19 = {1{`RANDOM}};
  push_buf_r_12 = _RAND_19[31:0];
  _RAND_20 = {1{`RANDOM}};
  push_buf_r_13 = _RAND_20[31:0];
  _RAND_21 = {1{`RANDOM}};
  push_buf_r_14 = _RAND_21[31:0];
  _RAND_22 = {1{`RANDOM}};
  push_buf_r_15 = _RAND_22[31:0];
  _RAND_23 = {1{`RANDOM}};
  push_buf_r_16 = _RAND_23[31:0];
  _RAND_24 = {1{`RANDOM}};
  push_buf_r_17 = _RAND_24[31:0];
  _RAND_25 = {1{`RANDOM}};
  push_buf_r_18 = _RAND_25[31:0];
  _RAND_26 = {1{`RANDOM}};
  push_buf_r_19 = _RAND_26[31:0];
  _RAND_27 = {1{`RANDOM}};
  push_buf_r_20 = _RAND_27[31:0];
  _RAND_28 = {1{`RANDOM}};
  push_buf_r_21 = _RAND_28[31:0];
  _RAND_29 = {1{`RANDOM}};
  push_buf_r_22 = _RAND_29[31:0];
  _RAND_30 = {1{`RANDOM}};
  push_buf_r_23 = _RAND_30[31:0];
  _RAND_31 = {1{`RANDOM}};
  push_buf_r_24 = _RAND_31[31:0];
  _RAND_32 = {1{`RANDOM}};
  push_buf_r_25 = _RAND_32[31:0];
  _RAND_33 = {1{`RANDOM}};
  push_buf_r_26 = _RAND_33[31:0];
  _RAND_34 = {1{`RANDOM}};
  push_buf_r_27 = _RAND_34[31:0];
  _RAND_35 = {1{`RANDOM}};
  push_buf_r_28 = _RAND_35[31:0];
  _RAND_36 = {1{`RANDOM}};
  push_buf_r_29 = _RAND_36[31:0];
  _RAND_37 = {1{`RANDOM}};
  push_buf_r_30 = _RAND_37[31:0];
  _RAND_38 = {1{`RANDOM}};
  push_buf_r_31 = _RAND_38[31:0];
  _RAND_39 = {1{`RANDOM}};
  push_buf_r_32 = _RAND_39[31:0];
  _RAND_40 = {1{`RANDOM}};
  push_buf_r_33 = _RAND_40[31:0];
  _RAND_41 = {1{`RANDOM}};
  push_buf_r_34 = _RAND_41[31:0];
  _RAND_42 = {1{`RANDOM}};
  push_buf_r_35 = _RAND_42[31:0];
  _RAND_43 = {1{`RANDOM}};
  mvm_start = _RAND_43[0:0];
  _RAND_44 = {1{`RANDOM}};
  r_2 = _RAND_44[10:0];
  _RAND_45 = {1{`RANDOM}};
  r_3 = _RAND_45[15:0];
  _RAND_46 = {1{`RANDOM}};
  r_4 = _RAND_46[10:0];
  _RAND_47 = {1{`RANDOM}};
  r_5 = _RAND_47[15:0];
  _RAND_48 = {1{`RANDOM}};
  REG = _RAND_48[0:0];
`endif // RANDOMIZE_REG_INIT
  if (reset) begin
    state = 3'h0;
  end
  if (reset) begin
    push_cnt_r = 7'h0;
  end
  if (reset) begin
    transize = 8'h0;
  end
  if (reset) begin
    save_cnt_r = 7'h0;
  end
  if (reset) begin
    maddr_acc_r = 32'h0;
  end
  if (reset) begin
    push_buf_r_0 = 32'h0;
  end
  if (reset) begin
    push_buf_r_1 = 32'h0;
  end
  if (reset) begin
    push_buf_r_2 = 32'h0;
  end
  if (reset) begin
    push_buf_r_3 = 32'h0;
  end
  if (reset) begin
    push_buf_r_4 = 32'h0;
  end
  if (reset) begin
    push_buf_r_5 = 32'h0;
  end
  if (reset) begin
    push_buf_r_6 = 32'h0;
  end
  if (reset) begin
    push_buf_r_7 = 32'h0;
  end
  if (reset) begin
    push_buf_r_8 = 32'h0;
  end
  if (reset) begin
    push_buf_r_9 = 32'h0;
  end
  if (reset) begin
    push_buf_r_10 = 32'h0;
  end
  if (reset) begin
    push_buf_r_11 = 32'h0;
  end
  if (reset) begin
    push_buf_r_12 = 32'h0;
  end
  if (reset) begin
    push_buf_r_13 = 32'h0;
  end
  if (reset) begin
    push_buf_r_14 = 32'h0;
  end
  if (reset) begin
    push_buf_r_15 = 32'h0;
  end
  if (reset) begin
    push_buf_r_16 = 32'h0;
  end
  if (reset) begin
    push_buf_r_17 = 32'h0;
  end
  if (reset) begin
    push_buf_r_18 = 32'h0;
  end
  if (reset) begin
    push_buf_r_19 = 32'h0;
  end
  if (reset) begin
    push_buf_r_20 = 32'h0;
  end
  if (reset) begin
    push_buf_r_21 = 32'h0;
  end
  if (reset) begin
    push_buf_r_22 = 32'h0;
  end
  if (reset) begin
    push_buf_r_23 = 32'h0;
  end
  if (reset) begin
    push_buf_r_24 = 32'h0;
  end
  if (reset) begin
    push_buf_r_25 = 32'h0;
  end
  if (reset) begin
    push_buf_r_26 = 32'h0;
  end
  if (reset) begin
    push_buf_r_27 = 32'h0;
  end
  if (reset) begin
    push_buf_r_28 = 32'h0;
  end
  if (reset) begin
    push_buf_r_29 = 32'h0;
  end
  if (reset) begin
    push_buf_r_30 = 32'h0;
  end
  if (reset) begin
    push_buf_r_31 = 32'h0;
  end
  if (reset) begin
    push_buf_r_32 = 32'h0;
  end
  if (reset) begin
    push_buf_r_33 = 32'h0;
  end
  if (reset) begin
    push_buf_r_34 = 32'h0;
  end
  if (reset) begin
    push_buf_r_35 = 32'h0;
  end
  if (reset) begin
    mvm_start = 1'h0;
  end
  if (reset) begin
    r_2 = 11'h0;
  end
  if (reset) begin
    r_3 = 16'h0;
  end
  if (reset) begin
    r_4 = 11'h0;
  end
  if (reset) begin
    r_5 = 16'h0;
  end
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
